大家好!我目前正在就讀資訊類科系,平常以接觸程式撰寫居多,對於資安領域的技術沒有太多了解因此希望藉由這30天的機會,以OWASP ZAP作為主要工具,從實際操作和分析,從環境架設、基本掃描到進階弱點發掘,一步步建立資安思維。
我將學習如何利用ZAP自動化及主動/被動掃描常見的資安漏洞,並理解其背後的原理,以及該如何修復,例如SQL Injection、XSS等,讓我從「資安小白」進化成具備基本滲透測試技能的「資安入門者」。
在傳統開發流程中,安全測試往往是被放在「產品上線前」的最後階段週期中的角色,但隨著DevSecOps的興起,安全測試不再只是一個事後的檢查工作,而是必須融入整個 軟體發展生命週期(SDLC) 。
安全測試的目的,是找出應用程式中的 弱點、錯誤配置或邏輯缺陷,這些都可能被惡意攻擊者利用。
階段 | 對應安全測試活動 |
---|---|
規劃階段 | 威脅建模、風險分析、明確安全需求 |
開發階段 | 程式碼審查(白箱測試)、靜態分析 |
測試階段 | 動態掃描(黑箱測試)、模糊測試 |
部署階段 | 設定檢查、安全配置驗證 |
維運階段 | 持續監控、滲透測試、修補驗證 |
測試類型 | 特點 | 適用情境 |
---|---|---|
黑箱測試 (Black-box) | 測試人員不擁有系統的原始碼、架構圖或任何內部憑證,只根據外部行為與回應進行測試。 | 模擬外部駭客行為與攻擊手法、滲透測試 |
白箱測試 (White-box) | 測試人員擁有 完整的系統資訊,包括原始碼、架構圖、伺服器配置等,針對程式碼層面進行分析。 | 開發階段、程式碼安全審查(如:原始碼靜態分析 SAST) |
灰箱測試 (Gray-box) | 測試人員擁有 部分 系統資訊,例如非特權的使用者帳號、部分文件或網路架構圖。 | 模擬內部測試人員或授權測試 |
威脅建模(Threat Modeling)
分析系統結構,辨識可能的攻擊路徑,繪製數據流圖(DFD),針對高風險區域優先進行測試。
測試設計(Test Design)
根據威脅模型與風險優先級設計測試案例,例如「SQL 注入測試」、「弱JWT Token測試」、「CSRF 驗證測試」等。
執行(Execution)
使用工具進行自動化掃描或手動滲透測試,按照測試設計執行攻擊模擬。
OWASP ZAP本身是一個開源的動態應用程式安全測試(DAST)工具,它在前面提到流程階段中發揮的作用: